//
// Created by Jisam on 12/10/2024 14:37.
// Solution of  P1095 [NOIP2007 普及组] 守望者的逃离
// 2024-10-12 14:42:21 WA4 60 贪心不行
// 2024-10-12 14:48:36 AC 100 DP对于时间
#include <bits/stdc++.h>

#define  int long long
#define  endl "\n"
#define  all(x) (x).begin(),(x).end()
#define  pb push_back
using namespace std;


signed main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int m, s, t;
    cin >> m >> s >> t;
    // 初始化一个大小为t+1的向量f，用于存储每一轮结束后的s1值
    vector<int> f(t + 1);
    // 初始化f[0]为0，表示在第0轮时，s1的值为0
    f[0] = 0;
    // 进行t轮操作，计算每一轮结束后的s1值
    for (int i = 1; i <= t; i++) {
        // 如果当前资源m大于等于10，则消耗10资源，s1增加60
        if (m >= 10) {
            f[i] = f[i - 1] + 60;
            m -= 10;
        } else {
            // 如果当前资源m小于10，则不消耗资源，s1保持不变
            f[i] = f[i - 1];
            m += 4;
        }
    }
    // 再次遍历t轮，这次考虑每轮结束后s1增加17的情况
    for (int i = 1; i <= t; i++) {
        // 如果当前轮的s1值小于前一轮s1值加17，则更新当前轮的s1值为前一轮s1值加17
        if (f[i] < f[i - 1] + 17) f[i] = f[i - 1] + 17;
        // 如果当前轮的s1值大于等于目标值s，则输出"Yes"和当前轮数i，然后结束程序
        if (f[i] >= s) {
            cout << "Yes" << endl << i << endl;
            return 0;
        }
    }
    // 如果经过t轮操作后，s1仍未达到目标值s，则输出"No"和最后一轮的s1值
    cout << "No" << endl << f[t] << endl;
    return 0;
}